#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//made by ruoyubushiyu
int main()
{
	int x, y;
	scanf("%d %d", &x, &y);
	for (int temp = x > y ? y : x; temp >= 1; temp--)
	{
		if (x % temp == 0 && y % temp == 0)
		{
			printf("%d", temp);
			break;
		}
	}
	return 0;
}
//int main()
//{
//	for (int i = 1000; i <= 2000; i++)
//	{
//		if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0)
//		{
//			printf("%d ", i);
//		}
//	}
//	return 0;
//}
//void m2(int x)
//{
//	for (int i = 2; i < x; i++)
//	{
//		if (x % i == 0)
//			return ;
//	}
//	printf("%d ", x);
//}
//int main()
//{
//	for (int i = 100; i <= 200; i++)
//	{
//		m2(i);
//	}
//	return 0;
//}
//int main()
//{
//	int a[3];
//	scanf("%d %d %d", &a[0], &a[1], &a[2]);
//	for (int i = 0; i < 2; i++)
//	{
//		for (int j = i + 1; j < 2; j++)
//		{
//			if (a[i] < a[j])
//			{
//				int temp = 0;
//				temp = a[i];
//				a[i] = a[j];
//				a[j] = temp;
//			}
//		}
//		
//	}
//	printf("%d %d %d\n", a[0], a[1], a[2]);
//	return 0;
//}
//int main()
//{
//	int i = 3;
//	while (i < 100)
//	{
//		printf("%d ", i);
//		i = i + 3;
//
//	}
//	return 0;
//}